package com.dd.cloud.user.service.ca;

import com.ancun.netsign.model.ApiRespBody;
import com.ancun.netsign.model.ContractOutput;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dd.cloud.user.DTO.ca.ConcatSignAddReq;
import com.dd.cloud.user.DTO.ca.VisaWaitFileUploadReq;
import com.dd.cloud.user.entity.ca.CaDoctor;

/**
 * <p>
 * 医生CA账号信息 服务类
 * </p>
 *
 * @author czg
 * @since 2024-01-22
 */
public interface ICaDoctorService extends IService<CaDoctor> {

    /**
     * 个人医生ca认证
     */
    void authCaDoctor();

    /**
     * 重新发送认证校验码
     */
    void captchaResend(Integer id);

    /**
     * 效验验证码
     */
    void captchaVerify(Integer id, String captcha);

    /**
     * 添加用户
     */
    void addPersonalUser(String account, String signPwd);

    /**
     * 创建印章
     */
    void createSeal(String account);

    /**
     * 查询印章
     */
    String getUserSeals(String account);

    /**
     * 上传待签署文件
     */
    ApiRespBody<ContractOutput> createContract(VisaWaitFileUploadReq req);

    /**
     * 添加签约方
     */
    String addSigner(ConcatSignAddReq req);

    /**
     * 下载合同
     */
    String downloadContract(String contractNo);

    /**
     * 大道ca签方
     */
    String caSign(VisaWaitFileUploadReq req);
}
